import $axios, { Result } from '@/plugins/axios'
import { AxiosResponse } from 'axios'
import fileAxios from '@/plugins/fileAxios'

/**
 * 获取附件列表根据uuid
 * @param uuid
 */
export async function getFileList(
  uuid: string,
): Promise<AxiosResponse<Result>> {
  return await $axios.get('/supervision-api/fileController/getFile', {
    params: {
      uuid,
    },
  })
}

/**
 * 获取文件流根据id
 * @param id
 */
export async function getFileStreamById(
  id: number,
): Promise<AxiosResponse<Result>> {
  return await fileAxios.get(
    `/supervision-api/fileController/fileDownload/${id}`,
    {
      responseType: 'arraybuffer',
    },
  )
}
export enum EFileForType {
  // 文件所属业务类型 type(1、事项文件 2 、事项反馈上传文件  3、协调申请文件)
  MATTER = 1,
  FEEDBACK = 2,
  APPLY = 3,
}
/**
 * 根据类型及业务主键获取附件材料
 * @param id
 */
export async function getFileByTypeAndId(params: {
  type: EFileForType
  id: number
}): Promise<AxiosResponse<Result>> {
  return await fileAxios.get(
    `/supervision-api/fileController/getFileByTypeAndId/${params.type}/${params.id}`,
  )
}
